﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//#include <math.h>需要在函数源文件中引用
#include "is_prime.h"

int main()
{
	//1.判素数
	int i = 0;
	int count = 0;
	for (i = 100; i <= 200; i++)
	{
		if (is_prime(i) == 1)
		{
			count++;
			printf("%d是素数。", i);
		}
	}
	printf("\n共计%d个素数。\n\n", count);

	//2.判闰年
	int y = 0;
	for (y = 1000; y <= 2000; y++)
	{
		if (is_leap_year(y) == 1)
		{
			printf("%d是闰年。", y);
		}
	}
	printf("\n\n");

	//3.有序数组查数字(二分查找)
	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
	int key = 7;
	int sz = sizeof(arr) / sizeof(arr[0]);
	//找到返回下标的值，找不到返回-1
	int ret = binary_search(arr, key, sz);//数组传参仅仅传了首元素的地址
	if (-1 == ret)
	{
		printf("没有找到该数！");
	}
	else
	{
		printf("找到了，此数的下标是：%d\n\n", ret);
	}

	//4.写一个函数，每次调用都会将num的值+1
	int num = 0;
	add(&num);	//add函数会改变num,所以传参的时候传num的地址函数内部要改变外部变量
	printf("%d\n", num);

	add(&num);
	printf("%d\n", num);

	add(&num);
	printf("%d\n", num);

	return 0;
}